/**
 * 
 */
package org.gigi.security.repository;

import org.gigi.core.Page;
import org.gigi.security.domain.User;

/**
 * 用户持久层方法
 *
 * @author Eugene Wang 2011-5-28
 * @see
 */
public interface UserRepository {

	/**
	 * 新增一个用户实体
	 * @param user
	 */
	void create(User user);

	/**
	 * 更新一个用户实体
	 * @param user
	 */
	void update(User user);
	/**
	 * 获取用户分页结果
	 * @param page
	 * @return
	 */
	Page<User> getPage(Page<User> page);

	/**
	 * 根据ID获取用户
	 * @param username
	 * @return
	 */
	User findByUsername(String username);

	/**
	 * 删除用户
	 * @param role
	 */
	void delete(User user);
}
